package com.freemalll.merchant.feign.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 系统账户
 *
 * @author wubo
 */
@Getter
@Setter
@ToString
public class AccountDto {
    private String id;
    /**
     * 账户名称
     **/
    private String accountName;
    /**
     * 账户Id
     **/
    @NotBlank(message = "账户id不能为空")
    private String accountId;
    /**
     * 录入账户Id
     **/
    private String enterAccountId;

    /**
     * 账户状态
     **/
    private Boolean accountStatus;

    /**
     * 账户密码
     **/
    private String password;
    /**
     * 手机 接收短信 (允许)存在一个手机对应多个账户
     **/
    private String mobile;
    /**
     * 微信id
     **/
    private String weixinId;

    /**
     * 客户状态 ture 当前账户是一个客户 允许同时也为职员
     **/
    private Boolean customerStatus;

    /**
     * 客户类型  p 自然人 b企业
     **/
    private String customerType;

    /**
     * 职员状态  ture 当前账户是一个职员 允许同时也为客户
     **/
    private Boolean staffStatus;

    /**
     * 是否锁定
     **/
    private Boolean locking;

    /**
     * 异常次数
     **/
    private Integer abnormalCount = 0;

    /**
     * 最大异常次数
     **/
    private Integer abnormalCountMax = 6;
    /**
     * 唯一id标识
     **/
    private String unionid;
    private String appCode;

    private String roleId;

    private String admOrgId;
    private String serviceOrgId;

    /**
     * 分期职位id
     */
    private String postId;
    /**
     * OA系统需要
     */
    private String subcompany;//公司
    private String department;//部门
    private String jobtitle;//岗位


    @Schema(description = "验证码")
    private String verificationCode;


    @Schema(description = " phone 手机号登录   默认账号登录 ")
    private String loginType;


    @Schema(description = "身份证号")
    private String idCard;

    @Schema(description = "是否在职  0 离职  1在职")
    private String jobStatus;

    @Schema(description = "入职时间")
    private Date entryTime;

    @Schema(description = "离职时间")
    private Date departureTime;

    @Schema(description = "商务编码")
    private String businessCode;

    @Schema(description = "OA员工编码")
    private String oaEmpCode;

    @Schema(description = "验证码附带的key")
    private String captchaKey;

    @Schema(description = "验证码")
    private String code;
}
